package com.adingxiong.cft.config;

import org.apache.kafka.clients.producer.Partitioner;
import org.apache.kafka.common.Cluster;

import java.util.Map;

/**
 * @ClassName KafkaCustomizePartitioner
 * @Description TODO
 * @Author  自定义分区器  kafka中的每个topic是有多个分区的,生产者发送消息的时候具体追加到那个分区  这个就是所谓的分区策略
 *  kafka 有默认的分区策略 ,我们亦可以指定分区   自定义分区策略
 *    启用自定义策略 需要在yml中配置 类名
 *
 * @Date 2021/3/24 14:17
 **/
public class KafkaCustomizePartitioner implements Partitioner {
    @Override
    public int partition(String topic, Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster) {
        //可以指定分区规则
        return 0;
    }

    @Override
    public void close() {

    }

    @Override
    public void configure(Map<String, ?> configs) {

    }
}
